{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "31fa741f-d467-4f70-9ceb-6af565db9764",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "随机森林模型的预测准确率： 0.94\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import accuracy_score\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.colors import ListedColormap\n",
    "import numpy as np\n",
    "x,y=load_iris().data[:,2:4],load_iris().target\n",
    "x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=0,test_size=50)\n",
    "model=RandomForestClassifier(n_estimators=10,random_state=0)\n",
    "model.fit(x_train,y_train)\n",
    "pred=model.predict(x_test)\n",
    "ac=accuracy_score(y_test,pred)\n",
    "print(\"随机森林模型的预测准确率：\",ac)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "cb13b355-a275-47e0-b543-e3a7a944eea9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RobS0tK0atUq3XDDDbLZbOrUqZNuu+02FRQUaNasWVq3bp0OHDigf//73wQchLWamycCAILF55mMr732Wo0YMUL9+/fX1q1bZRiGevbsqf/973+KjIzU+eefr2nTpgWiVgCABdDLC8HgU8Cx2WyKiopSVFSUkpOTFR8fL6ki9FS+Fh4XF6eIiAidPHlSKbyvCMCi3PWDmpa+RY1iS+o9vi6KiipmMn7vvYr5cFJSKt6qGjKk4Tyb0xB6eSE82IyzpyeuRatWrTRq1ChX0ImLi1OzZs3UqlUrtWnTRr1791ZCQoJWr16tq6++WlFRDafVlcPhUHJysuwzZzLRH4B6qakflCRF2MrVs+Uxbbp5aZXQ4uv4utbU7YV79O23FTMaV7LZpLZtG06PqoPOT3T/0d61jrv/vG1qF9srCBWhoSssdGjixGTZ7XYlJSV5vZ9Pr4nPmDFDbdu2VWpqqlq2bKm4uDh9//33+u9//6u7775bzZs3129+8xslJiY2qHADAP7kqR/U9mMtNT+7X73G17Wmn4cbqWKZHlUIRz6lkOnTp3vc7nA49Pzzz2v37t268sor61UYADRUnvpBlRs2LdnWq8obTr6Or2tN7u7HV/aouvrqep0CCCl+vc2SlJSkKVOm+POQANDgeO4HZau23dfx/q+JHlUIPz59RfX4449rzpw5+u6779yOGTt2rF599dX61gUADZbnflBGte2+jvd/TfSoQvjxKeDMmzdPX331lZxOp9sxt956K3dxAFiap35QETZDt/X+pF7j61pTDXOwSqJHFcKTT19RJSYm6rnnnlNmZqaWL1+uli1basqUKUpMTJRhGMrIyNCVV16pgoKCQNULAKablr5Fr35+wZkHh22SbKroB2WoZ8tjmpa+pV7j61rTs/sHun2Lih5VCDc+3cGp9PnnnyshIUGStGrVKsXGxiouLk5xZ95BrJwTBwCsyFM/qJpe+fZ1fF1rysqSRo6UmjSpCDZNmlQsN5RXxCXze3khfPg0D06nTp106623as6cObrpppskSZs2bdLOnTv1/vsVbwDk5+fruuuua3B3cZgHB4DV/bPdfWaX4BVmMoYv6joPjtdfUb355psqLCxU+/btFR0drW7duskwDG3atEmS9OCDD+r777+XzWbTpEmTfL8CAEBYILwgGLy6g/Ovf/1LEydOVEJCgr7//nul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DcMwjAkTJhjDhg0zuargUhjNg/PKK68Ykqp9wuH633zzTaNz585G48aNjdGjRxs//PCD2SUF3e9///uwmQdn5syZRkpKipGammr8+c9/NgoKCswuKSi2bNli9O/f34iPjzfS0tKMV155xeySguL06dNGTEyMsXfvXrNLCYry8nLj/vvvN9q2bWtER0cbF198sZGTk+PTMcKim/irr76qsWPHqnHjxiorK9OmTZvUtWtXs8sCAAABEhYBR5KOHDminJwc9e/fX+eee67Z5QAAgAAKm4ADAADCh7VfsQAAAGGJgAMAACyHgAMAACyHgAMAACyHgAPANEePHlVxcXG19YZhVJuB/OcC3T37vffe08GDBwN6DgCBQ8ABEDS9e/eu0hixe/fu2rt3b7Vxn3/+uYYOHVplWnbDMPThhx/q/fffl91uV2ZmpnJycmo8z8MPP6xrr722yrqvvvpKAwcO1HfffedVrfPnzw+rDuWA1Vi+VQMA8+zfv1+9evVS48aNFRkZqWPHjmnGjBm69957JUl5eXkaOnSooqOjZRiGCgsL9emnn+rHH39Uv3799M4776i4uFjPP/+8vvjiC0VFRWnMmDHq37+/li9frpMnT8rpdFZrqBsbG1ul39wPP/ygq666Sr169VKzZs2q1fn4449r7ty5VY5TWFio4uJirVu3TpJUUlKigoIC/fjjj4qMjAzEHxcAPyLgAAiY9u3b6+TJk67lPn366O6779bvfvc7SVKzZs301ltvqVu3bq4xW7du1auvvqqEhAStXbtWTZo0Udu2bZWQkKCLL75YJ06c0K9+9StFRUWprKxM5eXl2rp1q9sacnNzlZmZqf79++u5556rsQFpaWmprrnmGj311FMqLi7Wiy++qDFjxigqKkpOp1NPP/20JkyYEBZNDgGr4CsqAEFz6623atCgQZKkkydPavXq1Wrfvn2VMd26ddPhw4f117/+VUePHlVSUpJrW2RkpDIzM3XOOefo9ddfV/v27fXXv/7V7fm+/PJL/fKXv1R6erqef/55j93VbTab667NjTfe6BpbVlamyZMnq7y8XEVFRfW5fABBRMABEBQbNmzQn/70J9dXPg8//LDWrVunhIQEFRUV6e2335ZU0fm9e/fuWr9+vY4ePaorrrjC1Qk+JiZGxcXF+s1vfqM333xTe/bs0RVXXCFJcjqdOnXqlIqKilRaWqry8nIlJSXphhtu0MKFC+V0OlVUVKSioiKdPn3a1Wleqni+Jzo6WpmZmerXr58kqVevXurZs6druW/fvurVq5fy8/OD9mcGoO74igpAwH388ce65pprNHv2bN1www2S5HrepbS0VDfeeKN27NihzZs3Kzs7W+vWrdM///lPlZWV6YknnlCTJk1kGIYSExP10ksvadeuXSosLHQ9w/Pmm29q8eLFuuuuuxQTE6OSkhKVl5frP//5j0pLS/Xggw8qLi7OVU9JSYkuv/xy/fe//5UkFRUVKTY2Vh988IFOnz6txMREvfzyy5Kk4uJide3aVZ9++qnHO0AAGhb+tgIIqDfeeEODBw9WTEyMunbtWmVb5cO/p06dUk5Ojlq0aKGrr75amzdvVuPGjbV7925NmjTJ9ezLueeeq759+2rr1q0aPHiw5s+frzfffFOSNGXKFBUXF6ugoEAPP/ywrrvuOhUUFOiDDz5Qy5YtlZeXp4KCAhUUFMjpdLrCjSSdOnWqysPHEyZM0Ny5czV37lw98cQTmjBhgkpLS4PwpwXAXwg4AAJm//79Gj9+vF588UVdeumlrvXl5eU6fPiwli5dqoyMDK1du9b1rM3hw4e1evVq2e12/ec//9GGDRvUtGlTSVKHDh20a9cuV9gwDENOp9NjDZdccolSU1O1YMECt2OOHj2qVq1a6S9/+Ysuuugivfvuu8rOznZ9Nm7cqNmzZ9fzTwNAMBFwAARM+/bt9fXXXyszM1NSxddRy5cvV69evfTyyy9r2rRpuueee6p89VNQUKDPPvtM+fn5+vzzz/XRRx/pwgsvlCT94he/0Keffqo///nPWrlypWbPnq3f/va3HmvIz8/X/Pnz9cADD2jDhg01jtm3b5/atGmjhx9+WHv37lVKSooee+wxbd++Xf/4xz9UXFysu+++209/KgCCgYADIKAaN27s+n1kZKQ++eQT3XvvvZo6dWqV167Ly8u1ZcsWXXjhhZowYYJSU1N17733qrCwUBdffLEMw9CDDz6o888/XzfeeKOuv/56PfTQQ1q7dq3bc69evVodOnRQcXGx5syZo+HDh+u5556rMsbhcGjnzp3q3bu3JCkqKkrLly/X7bffrieeeEJjx47Viy++qHPOOcfPfzIAAomAAyAoysvLVV5ervnz52vUqFGSpGPHjskwDEnSO++8o8svv1wFBQV6/PHHNW7cOO3Zs0cOh0Pff/+91q9fr5UrV6pfv36aMWOGysvL3Z7r+PHjeuWVV3TzzTdrxowZ6tevnyZPnqyFCxfqz3/+s9LT05WdnS1Jeu655/TrX/9ajRo1klQxwd+BAwfUunVrTZs2Tc2aNdMXX3yhzz77TD/++KOrXgANGwEHQFBUvqZd6de//rU+/PBDpaWlqV27drrjjjv00EMP6dixY/rwww81adIk2e12PfDAA+rUqZM2btyoLVu2aMKECXriiSdUXFzs9vmbb775Rj169NBnn32mu+++23Wn6A9/+IPrbs1FF10kqeItqSlTpujll19Wly5d1LNnT7344ouaNWuW8vPzlZWVpffff1/XX3+9WrRooSlTpgT+DwtAvdkM/ncEgMU4HA7FxsZWa+HgSeUbWJUPNNekpKREZWVlVV45B9AwEXAAAIDl8BUVAACwHAIOAACwHAIOAACwHAIOAACwHAIOAACwHAIOAACwHAIOAACwHAIOAACwnP8Pcxd3wirTOGkAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x1,x2=np.meshgrid(np.linspace(0,8,500),np.linspace(0,3,500))\n",
    "x_new=np.stack((x1.flat,x2.flat),axis=1)\n",
    "y_predict=model.predict(x_new)\n",
    "y_hat=y_predict.reshape(x1.shape)\n",
    "iris_cmap=ListedColormap([\"#ACC6C0\",\"#FF8080\",\"#A0A0FF\"])\n",
    "plt.pcolormesh(x1,x2,y_hat,cmap=iris_cmap)\n",
    "plt.scatter(x[y==0,0],x[y==0,1],c='r',s=30,marker='^')\n",
    "plt.scatter(x[y==1,0],x[y==1,1],c='b',s=30,marker='o')\n",
    "plt.scatter(x[y==2,0],x[y==2,1],c='g',s=30,marker='s')\n",
    "plt.rcParams['font.sans-serif']='Simhei'\n",
    "plt.xlabel('花瓣长度')\n",
    "plt.ylabel('花瓣宽度')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ac7b6a3-5160-480c-8cc2-81522186e873",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
